import 'package:get/get.dart';

/// 生理周期日历状态类
class MenstrualCycleCalendarState {
  /// 当前显示的月份
  Rx<DateTime> currentDate = DateTime.now().obs;
  
  /// 生理期天数
  RxInt periodDays = 5.obs;
  
  /// 周期天数
  RxInt cycleDays = 28.obs;
  
  /// 上次生理期开始日期
  Rx<DateTime> lastPeriodDate = DateTime.now().obs;
  
  /// 下次生理期预测日期
  Rx<DateTime> nextPeriodDate = DateTime.now().add(const Duration(days: 28)).obs;
  
  /// 排卵日期
  Rx<DateTime> ovulationDate = DateTime.now().add(const Duration(days: 14)).obs;
  
  /// 生理期日期列表
  RxList<DateTime> periodDates = <DateTime>[].obs;
  
  /// 预测生理期日期列表
  RxList<DateTime> predictedPeriodDates = <DateTime>[].obs;
  
  /// 排卵期日期列表
  RxList<DateTime> ovulationDates = <DateTime>[].obs;
  
  /// 是否处于编辑模式
  RxBool isEditMode = false.obs;
  
  /// 更新的开始日期
  Rx<DateTime?> updateStartDate = Rx<DateTime?>(null);
  
  /// 更新的结束日期
  Rx<DateTime?> updateEndDate = Rx<DateTime?>(null);
  
  /// 是否正在加载数据
  RxBool isLoading = true.obs;
  
  /// 生理期通知内容
  RxString periodNotification = ''.obs;
}




